// 导入vue
import Vue from 'vue'
// 导入初始化css，定义了一些基本样式
import 'normalize.css/normalize.css' // A modern alternative to CSS resets
// 导入Element
import ElementUI from 'element-ui'
// 导入Element样式
import 'element-ui/lib/theme-chalk/index.css'

// 全局样式文件
import '@/styles/index.scss' // global css
// 导入跟组件
import App from './App'
// 导入vuex仓库
import store from './store'
// 导入路由
import router from './router'
// 导入图标
import '@/icons' // icon
// 导入权限管理配置文件，例如配置导航守卫
import '@/permission' // permission control

// 引入components里的index文件
import Components from '@/components'
// 引入directive里的自定义指令
import Directive from './directive'
// 全局挂载components和Directive 这样会让代码变得更优雅
Vue.use(Components)
Vue.use(Directive)
// 多语言配置
import i18n from '@/lang'
/**
 * If you don't want to use mock-server
 * you want to use MockJs for mock api
 * you can execute: mockXHR()
 *
 * Currently MockJs will be used in the production environment,
 * please remove it before going online ! ! !
 */

// 在公司开发中，有时候可能后端开发比较慢，导致前端要用的数据拿不到
// 前端需要模拟后端返回接口，数据，字段等，先进行开发，等后端开发好业务后，再替换成真正的数据
// if (process.env.NODE_ENV === 'production') {
//   const { mockXHR } = require('../mock')
//   mockXHR()
// }

// set ElementUI lang to EN

// 挂载为vue插件，并设置语言
// Vue.use(ElementUI, { locale })
// 如果想要中文版 element-ui，按如下方式声明
Vue.use(ElementUI)

Vue.config.productionTip = false
// 创建vue实例
new Vue({
  el: '#app',
  router,
  store,
  i18n,
  render: h => h(App)
})
